package pe.com.bn.sach.service;

import pe.com.bn.sach.domain.Bnchf03Motivo;
import pe.com.bn.sach.domain.Bnchf09Profesion;
import pe.com.bn.sach.domain.Bnchf11Nacionalidad;
import pe.com.bn.sach.domain.Bnchf14CentroHipotecario;
import pe.com.bn.sach.domain.Bnchf16Programa;
import pe.com.bn.sach.domain.Bnchf17GrupoObjetivo;
import pe.com.bn.sach.domain.Bnchf18Destino;
import pe.com.bn.sach.domain.Bnchf19Modalidad;
import pe.com.bn.sach.domain.Bnchf20Producto;
import pe.com.bn.sach.domain.Bnchf27GiroActividad;
import pe.com.bn.sach.domain.Bnchf28OcupacionCargo;
import pe.com.bn.sach.domain.Bnchf33PagoServicio;
import pe.com.bn.sach.domain.Bnchf34OficinaRegistral;
import pe.com.bn.sach.domain.Bnchf37Promotor;
import pe.com.bn.sach.domain.Bnchf38Broker;
import pe.com.bn.sach.domain.Bnchf39Notaria;
import pe.com.bn.sach.domain.Bnchf45GrupoDestino;
import pe.com.bn.sach.domain.Bnchf55Moneda;
import pe.com.bn.sach.domain.Bnchf60Sede;
import pe.com.bn.sach.domain.Bnchf61Poliza;
import pe.com.bn.sach.domain.Bnchf63InstitucionEmpresa;
import pe.com.bn.sach.domain.Bnchf54ParametroProducto;
import pe.com.bn.sach.domain.MantenimientoHost;


import java.util.Hashtable;
import java.util.List;
import java.sql.Connection;

  
import pe.com.bn.sach.domain.Bnchf40Tasador;
import pe.com.bn.sach.seguridad.DatosSesion;
public interface MantenimientoService {
	
	//mantenimiento cobranzas
	public List listarBNCHF02(MantenimientoHost bnchf54BNCHF02,Connection cnx) throws Exception;
	public MantenimientoHost encontrarBNCHF02(MantenimientoHost bnchf54BNCHF02,Connection cnx) throws Exception;
	public String  guardarBNCHF02(MantenimientoHost bnchf54BNCHF02,Connection cnx)throws Exception;
	public String  modificarBNCHF02(MantenimientoHost bnchf54BNCHF02,Connection cnx)throws Exception;
	public String bajarBNCHF02(MantenimientoHost bnchf54BNCHF02,Connection cnx)throws Exception;
	
	public List listarComentarioxExpediente(String idExpediente)throws Exception;
	public boolean validacionDeTiposDocumentos(Hashtable ht) throws Exception;
	public Hashtable listarDestinoModalidad(Long idModalidad) throws Exception;
	public String ActualizarModalidadDestino(List ModalidadList,Long destino) throws Exception;	
	public List listarXCHBNCHF06CONSULTA(String idCodTarifa ,String codigoCh,Connection cnx) throws Exception;
	public List listarXCHBNCHF06(String idCodTarifa ,String codigoCh,Connection cnx) throws Exception;
	public Bnchf33PagoServicio buscarPagosinStado(Bnchf33PagoServicio bnchf33PagoServicio) throws Exception;
	public Bnchf61Poliza buscarPoliza(Bnchf61Poliza bnchf61Poliza) throws Exception;
	public void updateStadoPagoServ(Bnchf33PagoServicio bnchf33PagoServicio) throws Exception;
	public Bnchf33PagoServicio buscarPago(Bnchf33PagoServicio bnchf33PagoServicio) throws Exception;
	public void guardarPoliza(Bnchf61Poliza bnchf61Poliza) throws Exception;
	public List listNotaria() throws Exception;
	public List buscarNotaria(Bnchf39Notaria Bnchf39Notaria) throws Exception;
	public void guardarPagoServicio(Bnchf33PagoServicio bnchf33PagoServicio) throws Exception;
	public List buscaBroker(Bnchf38Broker bnchf38Broker) throws Exception;
	public List listTasador() throws Exception;
	public void GuardaTasador(Bnchf40Tasador Bnchf40Tasador) throws Exception;
	public List buscarTasador(Bnchf40Tasador Bnchf40Tasador) throws Exception;
	public List buscarGiro(Bnchf27GiroActividad bnchf27Giro) throws Exception;
	public List buscarCargo(Bnchf28OcupacionCargo bnchf28Cargo) throws Exception;
	public List listarComentario(String idExpediente,String idUp) throws Exception;
	public List listarObervaciones(String idExpediente,String idUp) throws Exception;
	public void insertComentario(String idExpediente,String idUp,String Comentario,DatosSesion datosSesion) throws Exception;
	public List listarMotivo(String txtMovito) throws Exception;
	public List buscarMotivo(Bnchf03Motivo bnchf03Motivo) throws Exception;
	public void guardarMotivo(Bnchf03Motivo bnchf03Motivo) throws Exception;
	public void actualizarMotivo(Bnchf03Motivo bnchf03Motivo) throws Exception;
	public void insertObservacion(String idExpediente,String idUp,String idMotivo,String Observacion,DatosSesion datosSesion) throws Exception;
	public List listaCentroHipotecarioActivos() throws Exception;

	public void guardarNacionalidad(Bnchf11Nacionalidad bnchf15Nacionalidad)throws Exception;
	public void actualizarNacionalidad(Bnchf11Nacionalidad bnchf15Nacionalidad)throws Exception;
	public List listarNacionalidad(Bnchf11Nacionalidad bnchf15Nacionalidad) throws Exception;
	public List buscarNacionalidad(Bnchf11Nacionalidad bnchf15Nacionalidad) throws Exception;
	
	//  WILBER
	
	public List buscarPromotor(Bnchf37Promotor bnchf37Promotor) throws Exception;
	public Bnchf37Promotor encontrarPromotor(Bnchf37Promotor bnchf37Promotor)throws Exception;
	
	public List listarNotaria(Bnchf39Notaria bnchf39Notaria) throws Exception;
	public Bnchf39Notaria encontrarNotaria(Bnchf39Notaria bnchf39Notaria) throws Exception;
	public String  guardarNotaria(Bnchf39Notaria bnchf39Notaria)throws Exception;
	public String  modificarNotaria(Bnchf39Notaria bnchf39Notaria)throws Exception;
	public String bajarNotaria(Bnchf39Notaria bnchf39Notaria)throws Exception;
	
	public List listarBroker(Bnchf38Broker bnchf38Broker) throws Exception;
	public Bnchf38Broker encontrarBroker(Bnchf38Broker bnchf38Broker) throws Exception;
	public String  guardarBroker(Bnchf38Broker bnchf38Broker)throws Exception;
	public String  modificarBroker(Bnchf38Broker bnchf38Broker)throws Exception;
	public String bajarBroker(Bnchf38Broker bnchf38Broker)throws Exception;



	public List listarTasador(Bnchf40Tasador bnchf40Tasador) throws Exception;
	public Bnchf40Tasador encontrarTasador(Bnchf40Tasador bnchf40Tasador) throws Exception;
	public String  guardarTasador(Bnchf40Tasador bnchf40Tasador)throws Exception;
	public String  modificarTasador(Bnchf40Tasador bnchf40Tasador)throws Exception;
	public String bajarTasador(Bnchf40Tasador bnchf40Tasador)throws Exception;


	public List listarPromotor(Bnchf37Promotor bnchf37Promotor) throws Exception;	
	public Bnchf37Promotor encontrarPromotorMante(Bnchf37Promotor bnchf37Promotor) throws Exception;
	public String  guardarPromotor(Bnchf37Promotor bnchf37Promotor)throws Exception;
	public String  modificarPromotor(Bnchf37Promotor bnchf37Promotor)throws Exception;
	public String bajarPromotor(Bnchf37Promotor bnchf37Promotor)throws Exception;

	public List listarInstitucionEmpresa(Bnchf63InstitucionEmpresa Bnchf63InstitucionEmpresa) throws Exception;
	public Bnchf63InstitucionEmpresa encontrarInstitucionEmpresa(Bnchf63InstitucionEmpresa Bnchf63InstitucionEmpresa) throws Exception;
	public String  guardarInstitucionEmpresa(Bnchf63InstitucionEmpresa Bnchf63InstitucionEmpresa)throws Exception;
	public String  modificarInstitucionEmpresa(Bnchf63InstitucionEmpresa Bnchf63InstitucionEmpresa)throws Exception;
	public String bajarInstitucionEmpresa(Bnchf63InstitucionEmpresa Bnchf63InstitucionEmpresa)throws Exception;
	
	
	/*	CentroHipotecario SERVICE IMPL  INTERFAZ	*/

	public List listarCentroHipotecario(Bnchf14CentroHipotecario bnchf14CentroHipotecario) throws Exception;
	public Bnchf14CentroHipotecario encontrarCentroHipotecario(Bnchf14CentroHipotecario bnchf14CentroHipotecario) throws Exception;
	public String  guardarCentroHipotecario(Bnchf14CentroHipotecario bnchf14CentroHipotecario,Connection cnx)throws Exception;
	public String  modificarCentroHipotecario(Bnchf14CentroHipotecario bnchf14CentroHipotecario,Connection cnx)throws Exception;
	public String bajarCentroHipotecario(Bnchf14CentroHipotecario bnchf14CentroHipotecario,Connection cnx)throws Exception;
	public String  guardarAgenciaCentroHipotecario(Bnchf14CentroHipotecario bnchf14CentroHipotecario,List agenciasList,String idAgenciaPrincipal)throws Exception;
	
	/*	Programa SERVICE IMPL  INTERFAZ	*/

	public List listarPrograma(Bnchf16Programa bnchf16Programa) throws Exception;
	public Bnchf16Programa encontrarPrograma(Bnchf16Programa bnchf16Programa) throws Exception;
	public String  guardarPrograma(Bnchf16Programa bnchf16Programa,Connection cnx)throws Exception;
	public String  modificarPrograma(Bnchf16Programa bnchf16Programa,Connection cnx)throws Exception;
	public String bajarPrograma(Bnchf16Programa bnchf16Programa,Connection cnx)throws Exception;
	
	
	/*	GrupoObjetivo SERVICE IMPL  INTERFAZ	*/

	public List listarGrupoObjetivo(Bnchf17GrupoObjetivo bnchf17GrupoObjetivo) throws Exception;
	public Bnchf17GrupoObjetivo encontrarGrupoObjetivo(Bnchf17GrupoObjetivo bnchf17GrupoObjetivo) throws Exception;
	public String  guardarGrupoObjetivo(Bnchf17GrupoObjetivo bnchf17GrupoObjetivo,Connection cnx)throws Exception;
	public String  modificarGrupoObjetivo(Bnchf17GrupoObjetivo bnchf17GrupoObjetivo,Connection cnx)throws Exception;
	public String bajarGrupoObjetivo(Bnchf17GrupoObjetivo bnchf17GrupoObjetivo,Connection cnx)throws Exception;
	
	/*	Cargo SERVICE IMPL  INTERFAZ	*/
	public List listarCargo(Bnchf28OcupacionCargo bnchf28OcupacionCargo) throws Exception;
	public Bnchf28OcupacionCargo encontrarCargo(Bnchf28OcupacionCargo bnchf28OcupacionCargo) throws Exception;
	public String  guardarCargo(Bnchf28OcupacionCargo bnchf28OcupacionCargo) throws Exception;
	public String  modificarCargo(Bnchf28OcupacionCargo bnchf28OcupacionCargo) throws Exception;
	public String bajarCargo(Bnchf28OcupacionCargo bnchf28OcupacionCargo) throws Exception;
	
	/*	Destino SERVICE IMPL  INTERFAZ	*/

	public List listarDestino(Bnchf18Destino bnchf18Destino) throws Exception;
	public Bnchf18Destino encontrarDestino(Bnchf18Destino bnchf18Destino) throws Exception;
	public String  guardarDestino(Bnchf18Destino bnchf18Destino,Connection cnx)throws Exception;
	public String  modificarDestino(Bnchf18Destino bnchf18Destino,Connection cnx)throws Exception;
	public String bajarDestino(Bnchf18Destino bnchf18Destino,Connection cnx)throws Exception;
	

	/*	Moneda SERVICE IMPL  INTERFAZ	*/

	public List listarMoneda(Bnchf55Moneda bnchf55Moneda) throws Exception;
	public Bnchf55Moneda encontrarMoneda(Bnchf55Moneda bnchf55Moneda) throws Exception;
	public String  guardarMoneda(Bnchf55Moneda bnchf55Moneda,Connection cnx)throws Exception;
	public String  modificarMoneda(Bnchf55Moneda bnchf55Moneda,Connection cnx)throws Exception;
	public String bajarMoneda(Bnchf55Moneda bnchf55Moneda,Connection cnx)throws Exception;
	
	/*	Modalidad SERVICE IMPL  INTERFAZ	*/

	public List listarModalidad(Bnchf19Modalidad bnchf19Modalidad) throws Exception;
	public Bnchf19Modalidad encontrarModalidad(Bnchf19Modalidad bnchf19Modalidad) throws Exception;
	public String  guardarModalidad(Bnchf19Modalidad bnchf19Modalidad,Connection cnx)throws Exception;
	public String  modificarModalidad(Bnchf19Modalidad bnchf19Modalidad,Connection cnx)throws Exception;
	public String bajarModalidad(Bnchf19Modalidad bnchf19Modalidad,Connection cnx)throws Exception;
	
	
	/*	GrupoDestino SERVICE IMPL  INTERFAZ	*/

	public List listarComboGrupoDestino()throws Exception;	
	public List listarGrupoDestino(Bnchf45GrupoDestino bnchf45GrupoDestino) throws Exception;
	public Bnchf45GrupoDestino encontrarGrupoDestino(Bnchf45GrupoDestino bnchf45GrupoDestino) throws Exception;
	public String  guardarGrupoDestino(Bnchf45GrupoDestino bnchf45GrupoDestino)throws Exception;
	public String  modificarGrupoDestino(Bnchf45GrupoDestino bnchf45GrupoDestino)throws Exception;
	public String bajarGrupoDestino(Bnchf45GrupoDestino bnchf45GrupoDestino)throws Exception;
	
	/* paramtro producto */ 
	public List listarParametroProducto(Bnchf54ParametroProducto bnchf54ParametroProducto) throws Exception;
	public Bnchf54ParametroProducto encontrarParametroProducto(Bnchf54ParametroProducto bnchf54ParametroProducto) throws Exception;
	public String  guardarParametroProducto(Bnchf54ParametroProducto bnchf54ParametroProducto)throws Exception;
	public String  modificarParametroProducto(Bnchf54ParametroProducto bnchf54ParametroProducto)throws Exception;
	public String bajarParametroProducto(Bnchf54ParametroProducto bnchf54ParametroProducto)throws Exception;
	/*Tarifa*/
	
	public List ListarBNCHF15(MantenimientoHost bnchf54BNCHF15,Connection cnx) throws Exception;
	public List listarBNCHF06(MantenimientoHost bnchf54BNCHF06,Connection cnx) throws Exception;
	public MantenimientoHost encontrarBNCHF06(MantenimientoHost bnchf54BNCHF06,Connection cnx) throws Exception;
	public String  guardarBNCHF06(MantenimientoHost bnchf54BNCHF06,Connection cnx)throws Exception;
	public String  modificarBNCHF06(MantenimientoHost bnchf54BNCHF06,Connection cnx)throws Exception;
	public String bajarBNCHF06(MantenimientoHost bnchf54BNCHF06,Connection cnx)throws Exception;

	public List listarProducto(Bnchf20Producto bnchf20Producto) throws Exception;
	public Bnchf20Producto encontrarProducto(Bnchf20Producto bnchf20Producto) throws Exception;
	
	public String  guardarProducto(Bnchf20Producto bnchf20Producto,Connection cnx)throws Exception;
	public String  modificarProducto(Bnchf20Producto bnchf20Producto,Connection cnx)throws Exception;
	
	public String bajarProducto(Bnchf20Producto bnchf20Producto)throws Exception;

	//combos
	
	public List comboPrograma(Bnchf16Programa bnchf16Programa) throws Exception;
	public List comboGrupoObjetivo() throws Exception;
	public List comboMoneda(Bnchf55Moneda bnchf55Moneda) throws Exception;
	public List comboDestino(Bnchf18Destino bnchf18Destino) throws Exception;
	public List comboModalidad(Bnchf19Modalidad bnchf19Modalidad) throws Exception;
	public List comboGrupoDestino() throws Exception;
	public void guardarOficinaRegistral(Bnchf34OficinaRegistral bnchf34OficinaRegistral) throws Exception;
	public void actualizarOficinaRegistral(Bnchf34OficinaRegistral bnchf34OficinaRegistral) throws Exception;
	public List buscarOficinaRegistral(Bnchf34OficinaRegistral bnchf34OficinaRegistral) throws Exception;
	public List listarOficinaRegistral() throws Exception;
	public void guardarSede(Bnchf60Sede bnchf60Sede) throws Exception;
	public void actualizarSede(Bnchf60Sede bnchf60Sede) throws Exception;
	public List buscarSede(Bnchf60Sede bnchf60Sede) throws Exception;
	public List listarSede() throws Exception;
	public List buscarSedexOfi(Bnchf60Sede bnchf60Sede) throws Exception;
	public void guardarProfesion(Bnchf09Profesion bnchf09Profesion) throws Exception;
	public void actualizarProfesion(Bnchf09Profesion bnchf09Profesion) throws Exception;
	public List buscarProfesion(Bnchf09Profesion bnchf09Profesion) throws Exception;
	
	public List listarProfesion(Bnchf09Profesion bnchf09Profesion) throws Exception;
	
	public void guardarGiro(Bnchf27GiroActividad bnchf27Giro)throws Exception;
	public List busquedaGiro(Bnchf27GiroActividad bnchf27Giro)throws Exception;
	public void actualizarGiro(Bnchf27GiroActividad bnchf27Giro)throws Exception;
	public List listarGiro(Bnchf27GiroActividad bnchf27Giro)throws Exception;
	
	public List ListarProductoCombo() throws Exception;
	
	//mantenimiento tabla host
	public String  guardarTablaHost(MantenimientoHost mnt,Connection cnx)throws Exception;
	public String  modificarTablaHost(MantenimientoHost mnt,Connection cnx)throws Exception;
	public List  listarTablaHost(MantenimientoHost mnt,Connection cnx)throws Exception;
	public MantenimientoHost  encontrarTablaHost(MantenimientoHost mnt,Connection cnx)throws Exception;
	
	public String verificaSiExiste( MantenimientoHost mnt,Connection cnx) throws Exception;
	
}
